package com.eastfair.pay.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 实体类
 * 发票
 * </p>
 *
 * @author gj
 * @since 2022-06-21
 */
@Data
@ApiModel(value = "InvoiceDTO", description = "发票")
public class JYInvoiceDTO implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 发票代码
     */
    @ApiModelProperty(value = "发票代码")
    @Size(max = 255, message = "发票代码长度不能超过255")
    private String invoiceCode;
    /**
     * 发票号码
     */
    @ApiModelProperty(value = "发票号码")
    @Size(max = 255, message = "发票号码长度不能超过255")
    private String invoiceNum;
    /**
     * 发票金额
     */
    @ApiModelProperty(value = "发票金额")
    @Size(max = 255, message = "发票金额长度不能超过255")
    private BigDecimal invoiceAmount;
    /**
     * 开票时间
     */
    @ApiModelProperty(value = "开票时间")
    private LocalDateTime invoicingTime;

    /**
     * 开票状态
     */
    @ApiModelProperty(value = "开票状态")
    private String invoiceState;
    /**
     * 发票流水
     */
    @ApiModelProperty(value = "发票流水")
    private String mainno;

    /**
     * 是否冲红
     */
    @ApiModelProperty(value = "是否冲红")
    private Boolean isFlushRed;

    /**
     * 原发票代码
     */
    @ApiModelProperty(value = "原发票代码")
    @Size(max = 255, message = "发票代码长度不能超过255")
    private String sourceInvoiceCode;
    /**
     * 发票号码
     */
    @ApiModelProperty(value = "原发票号码")
    @Size(max = 255, message = "发票号码长度不能超过255")
    private String sourceInvoiceNum;

    /**
     * 电子发票链接
     */
    @ApiModelProperty(value = "电子发票链接")
    @Size(max = 1000, message = "电子发票链接长度不能超过255")
    private String invoiceLink;
}
